﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;
using System.Text.RegularExpressions;
using System.Collections;
using System.IO;
using System.Text;

public partial class Admin_Quang_Cao : System.Web.UI.Page
{
    DataProvider duLieu = new DataProvider();
    ListBox listBox = new ListBox();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Load_Danh_Muc();
        }
    }

    public void Load_Danh_Muc()
    {
        DataTable bangchude = null;
        bangchude = duLieu.Load_Du_Lieu_Admin_New("select * from quangcao order by maqc DESC", listBox);
        if (bangchude.Rows.Count != 0)
        {
            gvDuLieu.DataSource = bangchude;
            gvDuLieu.DataBind();
        }
        else
        {
            thongbaotrantrung.Text = "<font color='red'>Hiện Tại Trang Web Chưa Có Quảng Cáo Nào.</font>";
        }
    }
    protected void gvDuLieu_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvDuLieu.PageIndex = e.NewPageIndex;
        Load_Danh_Muc();
    }

    protected void gvDuLieu_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        gvDuLieu.EditIndex = -1;
        Load_Danh_Muc();
    }


    protected void gvDuLieu_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        listBox.Items.Clear();
        duLieu.MakeDuLieu(listBox, gvDuLieu.Rows[e.RowIndex].Cells[0].Text);
        duLieu.Luu_Du_Lieu_Admin_New("delete from quangcao where maqc=?", listBox);
        File.Delete(Server.MapPath("..\\hinh_quang_cao\\") + gvDuLieu.Rows[e.RowIndex].Cells[3].Text);
        Response.Redirect("Quang_Cao.aspx");

    }

    protected void gvDuLieu_RowEditing(object sender, GridViewEditEventArgs e)
    {
        gvDuLieu.EditIndex = e.NewEditIndex;
        Load_Danh_Muc();
    }


    protected void gvDuLieu_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        string tencongty = ((TextBox)gvDuLieu.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
        string tenkhqc = ((TextBox)gvDuLieu.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
        string logocty = ((TextBox)gvDuLieu.Rows[e.RowIndex].Cells[3].Controls[0]).Text;
        string lienket = ((TextBox)gvDuLieu.Rows[e.RowIndex].Cells[4].FindControl("weblienket2")).Text;
        string email = ((TextBox)gvDuLieu.Rows[e.RowIndex].Cells[5].Controls[0]).Text;
        string dienthoai = ((TextBox)gvDuLieu.Rows[e.RowIndex].Cells[6].Controls[0]).Text;
        string stt = gvDuLieu.Rows[e.RowIndex].Cells[0].Text;

        //==== Kiểm Tra Link =====

        Regex checklink = new Regex("http://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?");
        if (checklink.IsMatch(lienket) == false)
        {
            thongbaotrantrung.Text = "<font color='red'>Bạn nhập sai chuẩn LIÊN KẾT rồi. Ví dụ : http://vn-new.com</font><br/><hr color='#008000' size='1'>";
            return;
        }

        //==== Kiểm Tra Email =====

        Regex checkemail = new Regex("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
        if (checkemail.IsMatch(email) == false)
        {
            thongbaotrantrung.Text = "<font color='red'>Bạn nhập sai chuẩn email rồi.</font><br/><hr color='#008000' size='1'>";
            return;
        }

        //==== Kiểm Tra Điện Thoại =====

        if (!duLieu.kiemTraDienThoai(dienthoai))
        {
            thongbaotrantrung.Text = "<font color='red'>Bạn nhập sai chuẩn số ĐIỆN THOẠI rồi.</font><br/><hr color='#008000' size='1'><br/>";
            return;
        }

        // dienthoai = Conversion.Val(dienthoai);

        if (!string.IsNullOrEmpty(tenkhqc) & !string.IsNullOrEmpty(tencongty) & !string.IsNullOrEmpty(logocty) & !string.IsNullOrEmpty(lienket) & !string.IsNullOrEmpty(email) & !string.IsNullOrEmpty(dienthoai))
        {
            listBox.Items.Clear();
            duLieu.MakeDuLieu(listBox, tencongty);
            duLieu.MakeDuLieu(listBox,tenkhqc);
            duLieu.MakeDuLieu(listBox, logocty);
            duLieu.MakeDuLieu(listBox, lienket);
            duLieu.MakeDuLieu(listBox, email);
            duLieu.MakeDuLieu(listBox, dienthoai);
            duLieu.MakeDuLieu(listBox, stt);

            duLieu.Luu_Du_Lieu_Admin_New("update quangcao set tencty=?,tenkhqc=?,logocty=?,weblienket=?,emailkhqc=?,dienthoaikhqc=? where maqc=?", listBox);
            gvDuLieu.EditIndex = -1;
            Load_Danh_Muc();
        }
        else
        {
            thongbaotrantrung.Text = "<font color='red'>Bạn Chưa Nhập Đầy Đủ Dữ Liệu.</font><br/><hr color='#008000' size='1'>";
        }
    }

    protected void luudanhmuc_Click(object sender, EventArgs e)
    {
        string tencongty1 = tencongty.Text;
        string logocty1 = "";
        string lienket1 = lienket.Text;
        string email1 = emailkh.Text;
        string dienthoai1 = dienthoaikh.Text;
        string tenkhqc1 = tenkhqc.Text;

        //==== Kiểm Tra Link =====

        Regex checklink = new Regex("http://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?");
        if (checklink.IsMatch(lienket1) == false)
        {
            thongbaotrantrung.Text = "<font color='red'>Bạn nhập sai chuẩn LIÊN KẾT rồi. Ví dụ : http://vn-new.com</font><br/><hr color='#008000' size='1'>";
            lienket.ForeColor = System.Drawing.Color.Red;
            return;
        }
        else
        {
            lienket.ForeColor = System.Drawing.Color.Black;
        }

        //==== Kiểm Tra Email =====

        Regex checkemail = new Regex("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
        if (checkemail.IsMatch(email1) == false)
        {
            thongbaotrantrung.Text = "<font color='red'>Bạn nhập sai chuẩn email rồi.</font><br/><hr color='#008000' size='1'>";
            emailkh.ForeColor = System.Drawing.Color.Red;
            return;
        }
        else
        {
            emailkh.ForeColor = System.Drawing.Color.Black;
        }

        //==== Kiểm Tra Điện Thoại =====

        if (!duLieu.kiemTraDienThoai(dienthoai1))
        {
            thongbaotrantrung.Text = "<font color='red'>Bạn nhập sai chuẩn số ĐIỆN THOẠI rồi.</font><br/><hr color='#008000' size='1'><br/>";
            dienthoaikh.ForeColor = System.Drawing.Color.Red;
            return;
        }
        else
        {
            dienthoaikh.ForeColor = System.Drawing.Color.Black;
        }
        //dienthoai1 = Conversion.Val(dienthoai1);


        if (uploadanhads.HasFile & !string.IsNullOrEmpty(tencongty1) & !string.IsNullOrEmpty(lienket1) & !string.IsNullOrEmpty(email1) & !string.IsNullOrEmpty(dienthoai1))
        {
            thongbaotrantrung.Text = "";
            //==== Kiểm Tra Và Upload Hình Quảng Cáo ====
            try
            {
                bool chophepupload = false;
                string phanMoRong = System.IO.Path.GetExtension(uploadanhads.PostedFile.FileName);
                if (phanMoRong.Equals(".gif") || phanMoRong.Equals(".jpg") || phanMoRong.Equals(".png"))
                {
                    chophepupload = true;
                }
                if (chophepupload == false)
                {
                    thongbaotrantrung.Text = "<font color='red'>File Này Không Được Phép Upload.</font><br/><hr color='#008000' size='1'>";
                    return;
                }
                uploadanhads.SaveAs(Server.MapPath("..\\hinh_quang_cao\\") + uploadanhads.FileName);
                logocty1 = uploadanhads.PostedFile.FileName;
            }
            catch (Exception ex)
            {
                string message = "<SCRIPT LANGUAGE='JavaScript'>alert('" + ex.Message + "')</SCRIPT>";
                System.Web.HttpContext.Current.Response.Write(message);
                return;
            }

            //==== Nhập Quảng Cáo Mới ====

            listBox.Items.Clear();
            duLieu.MakeDuLieu(listBox, tencongty1);
            duLieu.MakeDuLieu(listBox, tenkhqc1);
            duLieu.MakeDuLieu(listBox, logocty1);
            duLieu.MakeDuLieu(listBox, lienket1);
            duLieu.MakeDuLieu(listBox, email1);
            duLieu.MakeDuLieu(listBox, dienthoai1);

            duLieu.Luu_Du_Lieu_Admin_New("insert into quangcao(tencty,tenkhqc,logocty,weblienket,emailkhqc,dienthoaikhqc) values(?,?,?,?,?,?)", listBox);
            Response.Redirect("Quang_Cao.aspx");
        }
        else
        {
            thongbaotrantrung.Text = "<font color='red'>Bạn Chưa Nhập Đầy Đủ Dữ Liệu.</font><br/><hr color='#008000' size='1'>";
        }
    }

    private void Sap_Xep_Du_Lieu(string COT)
    {
        string LenhSql = "select * from quangcao";

        if (!string.IsNullOrEmpty(COT))
        {
            LenhSql = LenhSql + " Order by " + COT;
        }
        gvDuLieu.DataSource = duLieu.Load_Du_Lieu_Admin_New(LenhSql, listBox);
        gvDuLieu.DataBind();
    }

    protected void gvDuLieu_Sorting(object sender, GridViewSortEventArgs e)
    {
        Sap_Xep_Du_Lieu(e.SortExpression);
    }
}